home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / rsynth / src / README_klatt < prev    next >
Text File  |  1994-08-01  |  6KB  |  219 lines

  1. Klatt Cascade / Parallel Formant Synthesizer
  2. --------------------------------------------
  3.  
  4. History
  5. -------
  6.  
  7. This file contains a version of the Klatt Cascade / Parallel Formant
  8. Speech Synthesizer. The software for this synthesizer was originally
  9. described in (1) and an updated version of the software
  10. was described in (2). An up to date version of the software
  11. synthesizer as described in (2) is commercially available from
  12. Sensimetrics. (3)
  13.  
  14. The code contained within this directory is a translation of the
  15. original Fortran, into C, by Dennis Klatt. In terms of the two
  16. articles referred to above, this version is the mid point of the
  17. development between the two systems described.
  18.  
  19.  
  20. Modifications
  21. -------------
  22.  
  23. The main part of the code in this directory was posted to comp.speech
  24. in early 1993 as part of a crude text to speech conversion system. The
  25. code taken from comp.speech seemed to have been modified considerably
  26. from the original, and for use of the synthesizer in research it was
  27. necessary to "fix" the changes that had been made. The major changes
  28. I have made are:
  29.  
  30. 1. Re-introduced the parallel-only / cascade-parallel switch. This
  31. allows choice of synthesis method, either using both branches, or just
  32. using the parallel branch.
  33.  
  34. 2. Correct use of bandwidth parameters. One of the cascade bandwidth
  35. parameters was being wrongly used in the parallel branch of the
  36. synthesizer.
  37.  
  38. 3. Correct operation of natural voicing source. The amplitude of the
  39. natural voicing source was very much smaller than the amplitude of the
  40. impulse source, making it difficult to swap between them to evaluate
  41. the differences.
  42.  
  43. 4. Removed the software synthesizer from the context of a text to
  44. speech system. The synthesizer is now a stand-alone program, accepting
  45. input as a set of parameters from a file, and allowing output to a
  46. file or to stdout.
  47.  
  48. 5. Added command line options to control the parameters that remain
  49. constant during synthesis.
  50.  
  51. 6. Added F0 flutter control, as described in (2).
  52.  
  53. Input File Format
  54. -----------------
  55.  
  56. The input file consists of a series of parameter frames. Each frame of
  57. parameters (usually) represents 10ms of audio output. The parameters
  58. in each frame are described below. To avoid confusion, note that the
  59. cascade and parallel branch of the synthesizer duplicate some of the
  60. control parameters.
  61.  
  62. f0    This is the fundamental frequency (pitch) of the utterance
  63.     in this case it is specified in steps of 0.1 Hz, hence 100Hz
  64.     will be represented by a value of 1000.
  65.  
  66. av        Amplitude of voicing for the cascade branch of the
  67.     synthesizer in dB0. Range 0-80, value usually 60 for a vowel sound.
  68.  
  69. f1        First formant frequency in Hz.
  70.  
  71. b1        Cascade branch bandwidth of first formant in Hz. 
  72.  
  73. f2         Second formant frequency in Hz.    
  74.  
  75. b2      Cascade branch bandwidth of first formant in Hz. 
  76.  
  77. f3      Third formant frequency in Hz.
  78.  
  79. b3      Cascade branch bandwidth of first formant in Hz. 
  80.  
  81. f4      Fourth formant frequency in Hz.
  82.  
  83. b4      Cascade branch bandwidth of first formant in Hz. 
  84.  
  85. f5      Fifth formant frequency in Hz.
  86.  
  87. b5      Cascade branch bandwidth of first formant in Hz. 
  88.  
  89. f6      Sixth formant frequency in Hz.
  90.  
  91. b6      Cascade branch bandwidth of first formant in Hz. 
  92.  
  93. fnz     Frequency of the nasal pole-zero in Hz (cascade branch only) 
  94.  
  95. bnz       Bandwidth of the nasal pole-zero in Hz (cascade branch only)
  96.  
  97. fnp       Frequency of the nasal pole in Hz (cascade branch only)
  98.  
  99. bnp       Bandwidth of the nasal pole in Hz (cascade branch only)
  100.  
  101. ap        Amplitude of aspiration.
  102.  
  103. kopen     Open quotient of voicing waveform, range 0-60, usually 30.
  104.  
  105. aturb     Amplitude of turbulence 0-80. A value of 40 is fairly useful.
  106.  
  107. tilt      Spectral tilt
  108.  
  109. af        Amplitude of frication in dB, range 0-80 (parallel branch)
  110.  
  111. skew      Spectral Skew
  112.  
  113. a1        Amplitude of first formant in the parallel branch, in dB.
  114.     Range 0-80.
  115.  
  116. b1p      Bandwidth of the first formant in the parallel branch, in Hz.
  117.  
  118. a2        Amplitude of parallel branch second formant.
  119.  
  120. b2p       Bandwidth of parallel branch second formant.
  121.  
  122. a3        Amplitude of parallel branch third formant.
  123.  
  124. b3p    Bandwidth of parallel branch third formant.
  125.  
  126. a4        Amplitude of parallel branch fourth formant.
  127.  
  128. b4p       Bandwidth of parallel branch fourth formant.
  129.  
  130. a5    Amplitude of parallel branch fifth formant.
  131.  
  132. b5p       Bandwidth of parallel branch fifth formant.
  133.  
  134. a6    Amplitude of parallel branch sixth formant.
  135.  
  136. b6p       Bandwidth of parallel branch sixth formant.
  137.  
  138. anp   
  139.  
  140. ab        
  141.  
  142. avp    Amplitude of voicing  for the parallel branch
  143.  
  144. gain      gain in dB's range 0-80, 50 is a useful value.
  145.  
  146.  
  147.  
  148. Command Line Options
  149. --------------------
  150.  
  151. -h Displays a help message.
  152.  
  153. -i <filename> sets input filename.
  154.  
  155. -o <outfile> sets output filename. 
  156.    If output filename not specified, stdout is used.
  157.  
  158. -q quiet - print no messages.
  159.  
  160. -t <n> select output waveform (RTFC !)
  161.  
  162. -c select cascade-parallel configuration.
  163.    Parallel only configuration is default.
  164.  
  165. -n <number> Number of formants in cascade branch.
  166.    Default is 5.
  167.  
  168. -s <n> set sample rate
  169.    Default is 10Khz.
  170.  
  171. -f <n> set number of milliseconds per frame.
  172.    Default is 10ms per frame
  173.  
  174. -v Specifies that the impulse voicing source is used.
  175.    Default is natural voicing
  176.  
  177. -F <percent> percentage of f0 flutter
  178.    Default is 0\n
  179.  
  180.  
  181.  
  182. References
  183. ----------
  184.  
  185. (1) @article{klatt1980,
  186.      AUTHOR = {Klatt,D.H.},  
  187.      JOURNAL = {Journal of the Acoustic Society of America},  
  188.      PAGES = {971--995},  
  189.      TITLE = {Software for a cascade/parallel formant synthesizer},  
  190.      VOLUME = {67},
  191.      NUMBER = {3},
  192.      MONTH = {March},
  193.      YEAR =  1980}
  194.  
  195.  
  196. (2) @Article{klatt1990,
  197.   author =      "Klatt,D.H. and Klatt, L.C.",
  198.   title =      "Analysis, synthesis and perception of voice quality
  199.           variations among female and male talkers.",
  200.   journal =      "Journal of the Acoustical Society of America",
  201.   year =      "1990",
  202.   volume =      "87",
  203.   number =      "2",
  204.   pages =      "820--857",
  205.   month =      "February"}
  206.  
  207. (3) Dr. David Williams  at
  208.  
  209. Sensimetrics Corporation,
  210. 64 Sidney Street, 
  211. Cambridge, 
  212. MA  02139.  
  213. Fax: (617) 225-0470
  214. Tel: (617) 225-2442
  215. e-mail sensimetrics@sens.com
  216.  
  217.  
  218.  
  219.